#pragma once
#ifndef TYPE_H
#define TYPE_H

#include "word.h"
#include <string>

class Type :public Word {
public:
	Type(std::string s,int tag,int width);
	int getWidth(void) const;
	static Type* max(const Type* a,const Type* b);
	Type* clone(void) const override;
	static const Type INT,FLOAT,CHAR,BOOL;

private:
	int width;
};

bool operator==(const Type& a,const Type& b);
inline bool operator!=(const Type& a,const Type& b) { return !(a==b); }

#endif // !TYPE_H